package com.example.keshe;

/**
 * 表示销售记录的实体类。
 */
public class Sale {

    private String saleId;          // 销售ID
    private String clothingId;      // 服装ID
    private String quantitySold;    // 销售数量
    private String totalAmount;     // 销售总金额
    private String remainingStock;  // 剩余库存
    private String saleDate;        // 销售日期

    /**
     * 构造函数，用于创建Sale对象。
     *
     * @param saleId         销售ID
     * @param clothingId     服装ID
     * @param quantitySold   销售数量
     * @param totalAmount    销售总金额
     * @param remainingStock 剩余库存
     * @param saleDate       销售日期
     */
    public Sale(String saleId, String clothingId, String quantitySold, String totalAmount, String remainingStock, String saleDate) {
        this.saleId = saleId;
        this.clothingId = clothingId;
        this.quantitySold = quantitySold;
        this.totalAmount = totalAmount;
        this.remainingStock = remainingStock;
        this.saleDate = saleDate;
    }

    /**
     * 获取销售ID。
     *
     * @return 销售ID
     */
    public String getSaleId() {
        return saleId;
    }

    /**
     * 获取服装ID。
     *
     * @return 服装ID
     */
    public String getClothingId() {
        return clothingId;
    }

    /**
     * 获取销售数量。
     *
     * @return 销售数量
     */
    public String getQuantitySold() {
        return quantitySold;
    }

    /**
     * 获取销售总金额。
     *
     * @return 销售总金额
     */
    public String getTotalAmount() {
        return totalAmount;
    }

    /**
     * 获取剩余库存。
     *
     * @return 剩余库存
     */
    public String getRemainingStock() {
        return remainingStock;
    }

    /**
     * 获取销售日期。
     *
     * @return 销售日期
     */
    public String getSaleDate() {
        return saleDate;
    }

    /**
     * 创建部分销售记录对象的静态方法，根据提供的参数构建 Sale 对象。
     *
     * @param saleId       销售ID
     * @param clothingId   服装ID
     * @param quantitySold 销售数量
     * @param saleDate     销售日期
     * @return 部分填充的 Sale 对象
     */
    public static Sale createPartialSale(String saleId, String clothingId, String quantitySold, String saleDate) {
        // 使用默认值填充未提供的参数
        return new Sale(saleId, clothingId, quantitySold, "", "", saleDate);
    }
}
